Servo systems are designed to run at a set velocity, which is monitored via an encoder mounted on the servo. If the servo operates above or below the set point, the servo controls can detect the aberrant behavior of the servo by, for example, sensing a corresponding deviation in encoder frequency and attempt to correct for the encoder frequency error. If the error is easily corrected by the system, the correction takes place and the servo continues to function. However, if the error in encoder frequency (velocity) begins to exceed certain limits, the control system will determine that it can no longer operate within specification. When this occurs, the controller typically disables the servo motor drive and issues an alert, such as, for example, a numerical code, to the main control system. This alert tells the main controller that the servo is no longer operating and that a fault has been declared.
The above sequence is a typical shutdown technique and reveals to the main control system that a servo hardware fault has occurred. No other information is passed on for evaluation to the tech rep or the customer. The problem that caused the error could well have been the motor hardware or could have been the load that is driven by the servo motor. If the problem is a marginal situation in either the load or the motor, determining the root cause could be difficult since faults might be intermittent. Also, there is no information stored in the system that could give a historical account of encoder frequency excursions that did not cause a shutdown. A history of encoder frequency values that shows poor behavior would be useful to service personnel, and there is thus a need for such a history. Tech reps or design engineers could use such a history to determine that, over a specified operating period, the frequency of the servo motor""s deviations and the amplitude by which the motor had deviated from its set point.
An onboard microprocessor continuously monitors a component, such as an encoder, by sensing a characteristic of the component, such as encoder timing. The onboard microprocessor performs real time statistical calculations on the values of the component characteristic and stores data including the results of these calculations in a memory, such as a RAM of the microprocessor. The data can remain in the memory for later retrieval or can be uploaded to another location, such as a main controller. The uploads can be continuous or at intervals. The system can be configured so that only those values outside of normal limits would be stored for analysis.
In embodiments in which the component is an encoder, data collecting is facilitated by encoders being timed according to the microprocessor""s clock. In embodiments, if encoder timing exceeds any specified limit, the information could be placed, for example, in an array in the microprocessor RAM; such an array is effectively a histogram. If technical support is on site, the representative could use the Serial Control Bus to collect the required data in real time. In embodiments using such a histogram, each data point could be put into a range bucket; since one would know what range the bucket included, one would simply increment an event count at a location on the histogram corresponding to the data point. Thus, the data can be represented by counters rather than real encoder values.